Skip to main content

Full text of "mit :: lcs :: tm :: MIT-LCS-TM-011"

See other formats


MIT/LCS/TM-11 



DESCRIPTION AND FLOW CHART OF THE 



PDP-7/9 COMMUNICATIONS PACKAGE 



Philip W. Ward 



#-r 



July 1970 



Unnumbered Blank Page 



Note: This page is an unnumbered 
blank used to preserve the printed 
appearance of the author's original 
document. It is the back side of the 
previous numbered page. 



-»-«*» 



ACKMmEDGMENT 



V&rk reported herefn was supported In part by Project 
~MK, en H.I.T. research project sponsored by the Advanced 
tag e ar ch Projects Agency , Department of Defense, under Office 
of flaw* 1 Research Contract H6nr-4102(01) . 



II; 



V 



V 



Unnumbered Blank Page 



Note: This page is an unnumbered 
blank used to preserve the printed 
appearance of the author's original 
document. It is the back side of the 
previous numbered page. 






SfR!g3SS!5||« *». . 



- 7-«t^ — ■■':;'■"- .j.Jr«57?s'*jwr — ■"- — - 



T 7 ^ — ! — " , "WT!"f V.'Fi^ 1 """™?!)"^ .IW"»"-' !fl 



<-^G\ 






y_<av; 






TecbwJltst Ashore***** Ji '.:r-.Av>^!*«s.«i5. 



I Electron*© Systems tsboratory 

aati'ji fco .too baio«e:j v.f r..;-i«,?-,>v;.;, 

sw ;i- Ic v ft<siv. I^?sff.ejB»0^ ! (load .1--: 






pT 



«# 



Kj'risq urns fejxfi-?; 



PROJECT MM 



Massachusetts Institute of Technology 






/HEaeieridae 



Massachusetts 021 39 



PREFACE 



The PDP-7/9 Communications Package was written to provide 
data transfers between the buffer controller (PDP-7 or PDP-9) of 
an ESL Display Console and a host computer via a 50-kilobit serial 
Dataphone link. Initially, only one of the displays (with a PDP-9 
buffer controller) was to be operated remotely over a 50-kilobit 
line, and the only feasible access to the 709^ CTSS host computer 
was via the PDP-7 buffer controller of the other display, which is 
directly connected to CTSS channel D. For this connection, the PDP-7 
could be looked upon as the "host" for the PDP-9, although it merely 
served as a message -handling intermediary for the real host, the 709^ • 

The link between the PDP-9 located at Project MAC (Technology 
Square) and the PDP-7 located at the M.I.T. Information Processing 
Center was installed in May, 1969- The communications package 
described herein was successfully checked out, but integration with 
the display executive programs of the PDP-7 and PDP-9 to permit remote 
display operation had not been accomplished when work was terminated 
in March, 1970. 

QTae work described was performed by the Display Group of the 
M.I.T. Electronic Systems laboratory, with the joint support of 
Project MAC and the U.S. Air Force Materials Laboratory, Wright- 
Patterson AFB, under Contract F 336l5-69-C-13 J +l. The programs 
were written and debugged by D.E. Thornhill, H. levin, and 
M.F. Brescia. This description by P.W. Ward was prepared as a 
user's guide. 

John E. Ward 

Electronic Systems Laboratory 



IV 



CONTENTS 



DESCRIPTION OF THE PDP-7/PDP-9 COMMUNICATIONS PACKAGE page 1 

Introduction 1 

Overview of Communications Package 1 

CONVENTIONS FOR CALLING PDP-7/EDP-9 COMMUNICATIONS PACKAGE 7 

Initialization 7 

Recieve Set 8 

Scheduling Routine 9 

Receive Message 11 

Send Message 14 

Send Message Master/ Slave Modification 17 

SUGGESTED PROGRAM MODIFICATIONS 18 

Appendix I -- Flow Chart of Communications Package 20 

Appendix II — Communications Package Error Parameters 52 



Unnumbered Blank Page 



Note: This page is an unnumbered 
blank used to preserve the printed 
appearance of the author's original 
document. It is the back side of the 
previous numbered page. 



DESCRIPTION OF PDP-7/PDP-9 COMMUNICATIONS PACKAGE 

Introduction 

The program to be described was written specifically for the purpose of 
providing a message handling facility between a PDP-7 and a PDP-9 computer 
utilizing a 50 kilobit telephone transmission link (see Figure 1). Each computer 
is physically connected to the telephone media (typically a Bell 303 Modem) via 
a DEC 637 Interface*. The 637 conforms (at the modem interface) to the Electronic 
Industries Association Standard RS-232-B for full duplex operation. At the 
637-to-modem level, information is transmitted and received in serial bit 
synchronous form. (In addition, the Bell Modem "scrambles" and "descrambles" 
the bit stream to provide uniform spectrum distribution and utilization.) At 
the Computer- to-637 Interface level, information is transmitted in serial byte 
synchronous form. In this program implementation, one byte is an 8-bit character; 
but 6, 7 or 9 bit options are possible with the same 637 Interface unit. The 
message handling program communicates with the 637 by Input-Output-Transfer (IOT) 
Commands which provide the status and control information required to effect 
transmission (and reception) of 8 bit characters from (and to) the PDP-7/9 
Accumulator. 

Overview of Communications Package 

The user of the Communications Package interacts with essentially three 
subprograms (hereafter called procedures): 



*The 637 Interface is also referred to by Digital Equipment Corporation as 
"Bit Synchronous Data Communication System Type 637" or simply "637 Data 
Communication Channel." 



- 2 






3£#/AL 
£IA 
rAJr££FAc£ 



/"DP- 7 







C OMPoTE^. 




FIGURE 1 - BLOCK DIAGRAM OF PDP-7/9 
COMMUNICATIONS LINK 



-3- 

(1) Initialization 

(2) Receive Message 

(3) Send Message 

How the user calls these procedures will be treated individually following 
a brief overview of what the procedures do. 

Figures 2, 3 and 4 illustrate in block form the general flow of 
operations within a given procedure. For a detailed Flow Chart of the 
Communications Package refer to Appendix I. 

Referring to Figure 2, the Initialization procedure clears the parameter 
list used by the program, puts the modem into synchronization, waits for 
an indication that the remote user has initialized, then returns control 
to the user. 

Figure 3 illustrates the Receive Message procedure. Note that the 
user, in general, interacts with this procedure at three different instances. 

(1) User calls Receive Set to provide parameters needed to process 
an incoming message. 

(2) user calls Receive Message when he knows a message is forthcoming. 

(3) During the procedure (2), if the entire message is received 
successfully, the procedure calls the user's scheduling routine. 
This step not only provides the user with an indication that there 
were no transmission errors, but also a chance to call procedure 

(1) again. Thus, an appropriate scheduling routine will prevent 
overwriting of a message by a subsequent message. After the 
scheduling routine is complete, control is returned to procedure 

(2) for completion. 

The Send Message procedure is illustrated in Figure 4. In this case, 
the user invokes the procedure and passes the necessary parameters at the 
same instance. The procedure attempts to send the message, and, if successful, 



- k - 

* 

PACKAGE fit*AME7Z*S 












\ 



FIGURE 2 - 
BLOCK DIAGRAM OF 
INITIALIZATION PROCEDURE 



/?£rc/£AJ 



T/Meour £/>#oK 




#c\rsET: £*JTAy 



i 



I (PET 3 P4*ftrr£r£*;s: 
I /) PEC£iv£ £UEfEP /-OCATioU 

\a) /t0c£ii/£ eorff*' ^eajs-t ,j 



T 



#£ ryf/J 



X 'cymes' £<urpy 



SET 0>P PO//UTEP TO 

2>/pEcr amy r~j/iEoy 
£pr3P to ' RcYD/£" 



WH£/U "£OQ " /s- p£CEii/ED 

sercjp ro /ezcEn/E. 

M055A& £ /P rrt£/?£ /S 
j5cJPP£X 3-PJCE , SE/OD "ACM 



S£/UB "/uul" 1AJ /DzEAyiqo£_ 
~E/L5E, 3£tJD "/U4<" EfEoKPET. 



r 



PPOCELSS MESSAGE tfEADEA 

/%CC£^5 A4&2SA6E KE^tr 
,4-5" A3CXZ OA £"jA<Y 



FIGURE 3 



BLOCK DIAGRAM 

OF RECEIVE MESSAGE 

PROCEDURE 



tfETVfifJ 

(SSEPS 
SCHEDULER 



<EIV£ SCtf£CVA/AJ6- fiovr/AJF: 

'£* zEcewED *st£ssA££ O. *, ) 

tfEcpivEQ /wfss4<££ A£CA-rro*i 

JEI. S£ i JE*>D (/e£ASo*/) } £-#J ?QK *£T. 




3£a>q "E~ar* jtaj xd/.£ /»&£ 

Cl£AP ^ECE/i/£~Acr//E 
X/ECEIl/E aAJLV "SYAJ" ' 



7 



tf£TVP*J 



£P/>a/l £Erye,j ^oose^eeE/^u^ 



£P£oZ /?£tuPaJ 



- 6 



l) US£Z fiJUMSEJZ. ^£*J&Vdr 'TO ", 
3) ZSfsJb M£SS/)6£ lOCATlOK) 

s) rat mat: Axc-ri ox 6/UAAy 



E#POt> TD "jTAjDr?*" 



3E*J£> "5V/J " TO P/LAC£ 
/?ECE/S£t? /v /?£Cen/E/tcri\J£ 

SEaJO "£aJQ" /IS /?£>l<JESr 



I 



'«/H£k) "4Ckr " JS fECEIVEQ 

sErupro tzejud m^sjme 



5E/JD *?ES5/)6E #EA£>E£ 
^E/)D AJESj;/)^ JT£XT_ 



I 



CotJrwvE JF "AC*' 1 XECEMED 
T#Y AGA/AJ JE^MD^HEcKSl* 
£jCS£.£^0/L #£rv*Aj 



FIGURE 4 - 

BLOCK DIAGRAM 
OF SEND MESSAGE 
PROCEDURE 



I 



* £S#oZ J?ErSf/J MOVLffrsi-AVi 



CjL£A& %ECEIi/E ACTIVE, 
g£c£li/B O/JL-/ "-ZVAJ" 



1 



/>s rc/se/j 



If EJ?#OK. /?£Ti//?Aj 



-7- 
returns control to the user at his normal return entry point. Otherwise, 
control is returned to the user's error return. 

The program takes care of all of the overhead and the input/output 
operations required with the 637 Interface to get a message processed. 
The user may opt that the message text to be sent consist of ASCII (non- 
control) characters or 18-bit Binary words. The message header, checksum, 
send/receive protocol, and the assertion of a program interrupt before sending 
a message, come under the overhead items which are taken care of by the program. 
However, the burden is on the user to: 

(1) Provide the required interrupt service for receiving a message 
or, alternatively, if the priority interrupt facility has been 
disabled, a routine to determine the presence of a message. 

(2) Inhibit interrupts when sending a message. 

(3) Recover under error return conditions. 

CONVENTIONS FOR CALLING PDP-7/PDP-9 COMMJNICATIOIILJ PACKAGE 

Now that some insight has been presented concerning what the program 
does, the specific details of invoking the procedures in the program will 
be treated in the same order. 

Initialization 



The first procedure that the user will invoke is initialization. This 
is accomplished by calling FINIT with no arguments. A typical call follow?: 

•™ S FINIT /CALL FINIT WITH NO ARGUMENTS 



ATVLE . 



-8- 
After initialization is accomplished, control will return to the 
instruction at ABLE. If initialization cannot be accomplished the program 
will come to a halt and the operator must take appropriate corrective 
action, then start over. The initialization routine assumes someone on 
the other end is also trying to initialize and will wait until he does 
so before returning control. Initialization not only brings the modem 
link up to sync, it also zeros the procedure parameter list. The names and 
descriptions of the parameters used to indicate error conditions are given 
in Appendix II. The user may wish to use the parameter list to determine 
his program action in case of error returns from the Receive Message or 
Send Message procedures. 

Receive Set 

Before the user invokes the receive message routine the first time, he 
must call RCVSET with three arguments. A typical call procedure follows: 

JMS RCVSET /CALL RCVSET WITH 3 ARGUMENTS BELOW 

LAC ARG1R /RECEIVE BUFFER STARTING LOCATION 

LAC ARG2R /RECEIVE BUFFER LENGTH 

LAW ARG3R /RECEIVE SCHEDULING ROUTINE ENTRY POINT 

BAKER , 

Control is returned to the instruction at BAKER when RCVSET has accepted 
the three arguments. If a message should come in before RCVSET has been 
invoked by the user, it will be refused on the basis that no buffer space 
is available. If one comes in afterwards, it will be placed in the buffer 
space last specified. ARG1R and ARG2R are self explanatory, except possibly 
it should be clarified that ARG2R is the octal number of contiguous locations 
available in the receive buffer regardless of whether the data type is ASCII 



-9- 

or Binary. ARG3R is the entry point to the user's receive scheduling routine, 

This example also serves to illustrate how arguments are passed in 
the PDP-7/9. When the program executes the instruction JMS RCVSET, control 
is transferred to the instruction in the next location after RCVSET and 
the address of the instruction LAC ARGlR is placed in location RCVSET. By 
convention, arguments are passed by writing one instruction for each argu- 
ment which, when executed, will place the argument in the Accumulator. 
Thus, LAC ARGlR puts the contents of ARGlR into the Accumulator while 
LAW ARG3R puts in the address of ARG3R. How these arguments are taken at 
the invoked procedure is illustrated in a later example. We can assume 
that after the arguments have been taken, the address contained in RCVSET 
will be BAKER. Thus, control is returned to BAKER by executing the instruc- 
tion: JMP I RCVSET. Note that even if the return were to the instruction 
LAC ARGlR, no problem occurs in the program. 

Scheduling Routine 

The Receive Message procedure invokes the scheduling routine if a 
message has been received successfully. It does this before it 
acknowledges the message to the sender. As explained previously, this is 
the time to call RCVSET again if the user expects another message before 
he is finished with the present one. At the other end, the sending procedure 
will only wait about 1.5 milliseconds real time for a reply, so the scheduline 
routine cannot be too time, consuming. 

The scheduling routine can be as simple as the following example: 



ARG3R ' ° /ENTRY POINT SCHEDULING ROUTINE 

JMP I ARG3R /RETURN IMMEDIATELY 



-10- 
The above routine simply returns control back to the receive message 
program and defers any action on the received message until later. However, 
the user may also wish to store the arguments being passed at this point of 
the program, namely RCVBUF (same as ARG1R, first location where the message 
was placed); RCVCNT (the length of buffer space used); TO (user number to whom 
message is sent); FROM (user number from whom message is sent). Assuming this 
information is needed, an example of an alternative routine which accepts the 
above arguments follows: 



ARG3R, 

XCT I ARG3R DAC RMSBEG AOM ARG3R 

XCT I ARG3R DAC RMSLTH AOM ARG3R 

XCT I ARG3R DAC RMSTO AOM ARG3R 

XCT I ARG3R DAC RMSFRM AOM ARG3R 



/ENTRY POINT SCHEDULING ROUTINE 
/PUT RCVBUF INTO RMSBEG 
/PUT RCVCNT INTO RMSLTH 
/PUT TO INTO RMSTO 
/PUT FROM INTO RMSFRM 



JMP I ARG3R 



/POSSIBLE CHANGE IN RCVSET 



/RETURN 



This routine puts the four arguments into user's locations named RMSBEG, 
RMSLTH, RMSTO, RMSFRM respectively. 

This routine also serves to illustrate how arguments are accepted in the 
PDP-7/9. The entry point to the routine contains no instruction. When 
ARG3R is invoked by a JMS instruction, the location of the next instruction 
is stored at ARG3R and control is given to ARG3R + 1. Following the 
convention for accepting arguments, the scheduling routine issues an XCT 
instruction indirected through ARG3R to access the first argument. This 
places the first argument in the Accumulator. This is followed by an AOM 
instruction to increment the pointer in ARG3R to the next argument. The process 
continues until all arguments are taken, leaving the pointer in ARG3R at the return 



-11- 

entry point of the invoking procedure. This routine continues with some 

user defined algorithm that may decide to change the RCVSET parameters for 

the next message. Ultimately, control is returned by the instruction: 
JMP I AIG3R. 

Receive Message 

Assuming that the Receive Set procedure has been furnished with the 
necessary housekeeping parameters, the Receive Message procedure may be 
invoked at any time there is an indication of a message being sent. However, 
the user is almost certain to encounter a timeout error condition if he 
invokes the Receive Message procedure arbitrarily. The best arrangement 
is to direct the invocation on an interrupt basis, since this guarantees 
that the 637 Interface has been activated by a sender and a message is 
forthcoming. In order to clarify this point, the conventions followed 
by the Communications Package in this regard are described. The last step 
of any procedure orders the 637 Interface: 

t 1 ) Transmit link to repeatedly transmit an "EOT" control character 

in order to maintain the Bell Modem synchronization. This leaves 
the 637 Interface transmit link "idling" and requires no further 
IOT operations, but a synchronous bit stream is maintained in ; the 
modem as required. 
( 2 ) Receive link not to accept any more characters unless the "SYN" 
control character is detected. Under this status, the 637 
receive link continually checks the serial bit stream for any 
sequence of bits that match the "SYN" character code. When a 
match is found, the receive link activates, sets its interrupt 
line active and begins assembling every 8 bits following "SYN" 
into characters. 



-12- 

In accordance with this convention, the Send Message procedure initially 
transmits the "SYN" character (three times) to alert the receiver. See Fig. 5. 

It is possible to test for a message received status without the use 
of the interrupt scheme, but this requires IOT commands to the 637 Interface. 
A typical routine which waits on a message to arrive, then calls RCVMES 
with no arguments is as follows; 



DZM ARG3R 
SNE 

JMP RPRINT 
SRF 

JMP .-3 
JMS RCVMES 
CHARLY, LAC ARG3R 
SNA 

JMP RMSERC 
JMP RMSPRC 



/CLEAR ENTRY POINT ARG3R 
/SKIP IF THERE IS LINE CONTROL 
/GO TO LOST LINE CONTROL PRINT 
/SKIP IF 637 IS RECEIVE ACTIVE 
/KEEP CHECKING UNTIL ACTIVE 
/CALL RECEIVE MESSAGE 
/ARG3R USED AS MESSAGE FLAG 
/IF ARG3R =0, BAD MESSAGE 
/GO TO ERROR RECOVERY ROUTINE 
/GO TO MESSAGE PROCESS ROUTINE 



Control is returned to CHARLY after a message has been processed by 
RCVMES. It is assumed that subroutines RPRINT, RMSERC and RMSPRC exist 
in the user's program. If no problems were encountered by RCVMES, ARG3R 
(the user's scheduling routine) will have been accessed. For this reason 
ARG3R is used as a flag. If ARG3R is non-zero, the program flow is to 
RMSPRC where the user processes the message. The other subroutines are 
determined by the user's application. Typically, RPRINT might be a routine 
which notifies the operator that the modem has lost its line control. 



-13- 



T'-'-/C/H ■zf/DZ/r 8££//J 



<£./0M5EC 



T\ 



- o . . i ,... o y y y a/ a/ .:.... m o 

T T /ees>£AT) T M N M Q Q R£P£at) Q f+ 



A'r,:£iy-^6- 5/?J?JEvC£ 



- • (#£c£(v£ f/u/icr?y£) 



-} 



M£'SSA^£ ~J S /^~~\ 



S 5 A N hJ 

y y c (j u 

AJ AJ K L L 



CZDL£ 

to* • • 

#£P£AT) 



u 

L 




1 



TV 



ME53A&E 7 E 

-rexr J x 




( Z V V u 



, Cff£CK 

I F0K /€£5fi>KlS£ 

A/ ' H ClDiE 

• -, • U O O 

#£P£*r) jl tt 



(jtdas ££?£At) . * 



£A/D 



// £E~ 



CX DIE 



£ 

- - Q 

/>£~fr.-»T)T 



N A E E (£ec£ii/e 

U c o o •»• 



AJOT£ : 



M/£J5SA6£ 
#£/>£>££ 



~l 



M£SzA6£ M£3z/>6£. 

4/V*r6£/e " 7~o" 

**0Q 7 7 g Mob 77 g 



M£?SA$£ 







£ ASCII r£*r\ * 
° /=e#M*T J — 



& 



1 



ewAey ^£xr j 

° £'4ffWA7~ J 



FIGURE 5 - CHARACTER SEQUENCE 
OF TYPICAL MESSAGE 



-14- 
RMSERC could be quite involved in checking the receive message parameter 
list until the source of error is found and some action taken dictated 
by the type of error found. 

Send Message 

If the user desires to send a message he issues a call to SNDMES 
with five arguments. A typical call procedure follows: 



DOG, 
EASY, 



IOF 

JMS SNDMES 
LAC ARG1S 
LAC ARG2S 
LAC ARG3S 
LAC ARG4S 
LAC ARG5S 
JMP SNDERT 
ION 



/DISABLE INTERRUPT 

/CALL SEND MESSAGE WITH 5 ARGUMENTS BELOW 

/TO USER NO. 

/FROM USER NO. 

/FIRST LOCATION OF MESSAGE 

/LENGTH OF MESSAGE BUFFER 

/O-ASCII, ELSE BINARY 

/SNDERT=ENTRY MY ERROR ROUTINE 

/EASY=MY NORMAL RETURN ENTRY POINT 



If the message is acknowledged by the receiver, the procedure returns 
control to the instruction at location EASY, otherwise the return is an 
error return to DOG which must transfer control to the user's send error 
routine at SNDERT. 

Unless the recipient of the message heeds the TO and FROM 
numbers contained in ARG1S and ARG2S, these arguments can be any arbitrary 
constant, including 0. In any case the procedure only sends the rightmost 
six bits of either argument. The next two arguments are self explanatory, 
since the procedure must know where to get the message and how long it is. 



- 15 - 



\ b7 


Bit 


\ b6 




Positions 


\ 


b5 

•- 




@ 



M 



W 



m 



I 
l 



:DEL3 



Control 
Choracters 



Communication 
Control Characters 

Key Characters 



Second Category Representing 
ArgumentOncludes the Control 
Character DEL) 



Control Character DEL 
Included in the Argument Set 



FIGURE 6 - USASCII CODE TABLE 



- 16 - 



The last argument offers the user the option of sending the message in 18 tit 
binary words (if ARG^S is any non-zero constant) or as tvo (7-bit ASCII) 
8 bit characters per word (right justified). 

If tlie user requests the ASCII format, he must have a legal ASCII 
character in every character position of the send message buffer area indicated 
to the send routine and he must not use any of the 16 ASCII control characters 
in the field which includes "ETX". Specifically, no characters with 
format: 

b8 bl 

XOOXOXXX 

can be included within the text (in user's send buffer). The X»s indicate 
"don't-care" bit positions. No problem arises in the send routine, but the 
receive routine must look for control characters and specifically the "ETX" 
to determine the end of the text. Refer to Figure 6 for ASCII code. 

None of the above problem occur in the binary mode since the program 
sends only 6 bits of the 18 bit word at a time, and the ASCII bit positions 
"b8 b7" are forced to "0 1" at the send end and masked at the receive end 
when the message text is being processed. However, the program assumes that 
the user at the receive end knows whether the message is in ASCII or Binary 
format, i.e. this parameter is not passed to the receiver of the message. 
The user should utilize the "TO" and "FROM" parameter information to 
indicate which to the receiver. 



- 17 



As mentioned earlier (without explanation) the priority interrupt 
facility should be disabled just before invoking the Send Message procedure . 
This is because Send Message takes the 637 Interface out of "idle" mode 
when it gets the go-ahead from the receiving end to send. At this point, 
every_ character transmitted has to be a new character furnished by the 
Send Message procedure on demand by the 637 Interface. Thus, the pro- 
cedure has to be ready and waiting with the next character when the 637 
has finished transmitting the current character. The procedure has one 
character interval in real time (about 160 microseconds) to perform inter- 
mediate fetching and formatting tasks to prepare the next character. This 
is ample time unless an. interrupt is permitted, then the timing is 
indeterminate. If the response to the 637 Interface's request for the 
next character is late, loss of line control follows. Initialization 
will then be required before communications can be re-established. 

Send Message Master/Slave Modification 

Since it is possible for both parties to request to send at the same 
time, some provision for Master/Slave priority must be written into the Send 
Message routine. If the user is the Master, no modification is required. If 
Slave, change the program in the SKDWAK routine by replacing the instruction: 

JMP SNDWAK 
with two instructions: 

JMS RCVMES 
JMP SNMGN 



IS - 



SUGGESTED PROGRAM MODIFICATIONS 

In the course of preparing this description of the existing FDP-7/9 
communications package, it vas noted that certain channel conditions could 
possibly cause endless looping. Several minor program modifications, 
described below, should eliminate this danger, but have not been implemented. 
The suggested modifications are shown in the flow charts, and are marked 
with an asterisk to indicate a discrepancy between the charts and the 
actual program listing. One additional change is required if the functions 
of Master and Slave are reversed. These changes should be made in any 
future use of the package. 

1. RECEIVE MESSAGE (l), near label RCVMES. Change TIMOUT error return 
from RCVDIE to a new subroutine called RCVTIM which alters the TIMOUT 
error return before proceeding to RCVDIE routine. This prevents 

an infinite loop condition in case the transmit routine always 
times out when called. RCVTIM is shown in RECEIVE MESSAGE (13). 

2. RECEIVE MESSAGE (5), near label RCVGO. Add the instruction which 
increments NOSTX by 1 when "STX" is not found at the start of text. 

3. RECEIVE MESSAGE (13), near label RCVDIE. Add the label variable 
REXIT, the subroutines RCVTIM and RCVEMG as shown to prevent 
loop condition described in change 1 above. 

k. RECEIVE (3), near label RTXERR. Replace instruction JMS RCVDIE 

with JMS RCVEND. 
5. SEND MESSAGE (2), near label SNDWAK. Add the modification per 

description on page 17 of report "Send Message Master/Slave 

Modification". 



K.i r pr' r "^ 



'■tJI'-T -w>«P » 



i. |iji,.wuwppw-^^^i« 



- 19 - 



6. SEHD MESSAGE (8), S1©TIM routine. Change EEMDUT error return fren 
SHDTXM to a mv subroutine called SMDEMO and put node* into idle 
mode before calling SNDEHD. SHDEMG prevents an infinite loop 
condition in case the transmit routine always times out vben 
sailed, mam is shewn adjacent to SHWaM and SEXIT is a label 
variable to be added as shown near subroutine SHDEHD. 



t- 



Wy. 



* s f5l'*~* J r J -",' L - s \ """."-' * ■•-'IV -* "'*""' 




K » 



^■^v 



- 20 - 






'1 Xte SSJ& ,:-i. ■.-■ 



APPENDIX I 



K. h --t- 




i-'.V.'i ■■■■!.- ■ ' 



'*i 



F/Kiir : 



£/jrny 



- 21 



tJOlu T+- PAfi&UO 





X <*-/**aKr 




*v 




X+X-hi 




\ 




AJOfVl + 1 


A/ 


K. MOStil '« O > 






A)C Af rti* 



^ PA*' 






"tAttl /At Kf S *S^> ~1 H*Jirlt+* 0-4J 




*>U yfe «*.*/ ,» MINI **' ~*^S *■ 






C/UT44Z. /D/.A Ma££ 






JjlS(,r<ioTfO"-< J°> 



eya 







iaj/ r/A/L / £ A r/oto (x j 











22 



TOT So /rn»s~-S ^ Y/U '* ord ^ ~* 






ZfrrtS-L //j/-«p t ~ " COCKfT 



6> 



/\/ow (oofC J*tr 



J OF if ° ripe** /as r <~***r 



fi/Mt 







CALL XCtfAe 



&A/JI 



3t*J?3r. 






(KctffifZ) 




UJa,t j»r AJ./Z:- 

K£ceiH FLAG (XCJM«)[ 



CAlL fiCl/f 






CALL 8C*AX 
( 




Lee>£ Jor£OT 



CL£AZ tecewE acmA &"«* "° »'" 

I Cfair*.<Tjrs unlet* 



-JV/V 



<CA&K xecr/i/e Arri/B 



R£r-t/£Aj 



/-//-;, -t/-^/' 



mm?;^ r ~ 



23 



>fe//*'„ ^W/^ ^W 6 y : /M/r/4/j/jL+r/OA / Cs) 



AjO/AJJ : £AJr*Y 



+/ ^*C*/«i »^ /H**fcli*J /»tx/+*tat/on "*■ 



rJL 



HALT 



V-.V-- "l 



M0/*>/ C~J**s UcsJt** •J /*'* 9 ~ 
•1*4 



j**r,*4 .in',/t'+/f9*f»" 



•»■ ^ i 5 ' ' 



• Vi vr 



'•■*t«^ M-i 



l*»>i*^*- 







/ ^;f "s'Y'At 



/J 






v° 



'•■!, '•-,■: v. t ri . , *i, '^j i ii' ii 6 ,. '1 ; .; y \ &fa\ . r ' ri , t >j"i."-, ^ -■>-»-; 



''•■■-* v»- 



S-.\^1^ *'i .i.l^^'i' 1 






"- .->*.. 



- v>c\ -t^v^ [W^vf* xavj] 






y^ 



JM$M\ t 



>■ r ». .. t» > '. >■•■■ * 



KC\/S£T'. £/ur#Y 



A&6 3 



I 



#£fC/*AJ 



- 2k 



£EC£/ ^/£ M£SSA\ &£ (t) 



60, #EC£/i/£ M£ssA&£ 



/S /a Ajl. fd_Hlf . , 

fr.) *e„,VA y A//- */>*" «"*■'<■> *'*f 

f3) In*/,.* '/■ "»" ""'"■ 



ujhr* )>*****-< 



, K rytS':*- 



,-' L+/x /J. ^J 



H/ ■■' ' 



harrna. / rt J'W'" ■ 



tor t 



/„ **«> f°"'l + ° " S "" 









I 



-r 



tfcvwAK: 



3 



fact,** Messatjt- ro«/-f»<L & Seri/t* 



caaAjr-tr- 
caoAjr +1 



T* 7 


y £uo\a/ak: ^ 


A/0£*JQ-~*- 




A/0£aJQ H 




< 


1 


CALL ACHAR. 


fit*/ ' /U 


CALL /?Cl/blE. 


-\ J 


C 6.arv*s tr 







Make, a mo/* /^* "° 
"£H)Q" ojos lw* 

Error rj.-furn 






/tV7-<lH-- 



AC 



$ 







- 25 - 









I 

-+\CAH 



PCVD/£ 



J I 1 

call xcisyA/ | „3W <?a n>#cvww *■•■•* ** hB,c/ ~ 

. .5 Ttrnas 



/?£.TURfJ 



_L 



AC+- 




( prt vi oui octet J do'JAjT—J 



.Xttoevr: 









AC+VAK 



CALL £C\/£iJl} 



I 



Yuccas s /Wfc . . s^i^m u* ^ fi£c£tt/£ M£3*A*£ 






X^-AC 



I 



WADCAJT-+ 



£cvc*jr 






J~ 



AC^-Ack 






26 




A?£C£IV£ M£55/}&f (z) 



OHU. XCMA 



£4-nM 



,'t a.s chtrat fjr 









I 



AJouJ St-ri'* 



II II 

AJUL 



:/\li xcmz 



SJJ. 



5-£~r /OLE MODS 

3= 






RCVWT: 



-8 



3 






CM L ftOHZ • ^ w ^ cA*r*if„ 



su.a. 




&o to a?c/6o 



SUCC£*S £au.^JL. 






A/ 



xumss: 







<£#/. A?CVD/£ 



jj mMS ,~f kU«ry*u«S- 



AnaJts ^ JLrror rxturt 



&CI/&0 



t 





^UM^-AC 




\ 




/zci/&e£*r&\ 




\ 


L 






1 
1 




6 J llXtfD&A 




1 

i 








\ 







- 27 - 






ter. 



^/j-a-dcr arror r* 



S ur „ . /Wr ^ *"° 



r r^L-TUrn. 



:tur«*J-*r offers A & ws S «y 



aw«, tnetorJ. 







AC+-AC 



w 



CAIL %JX/f*W\ 



M*n nuts/- 6a. e^Ho/ir*/* 

7 



Camfif-f^yf'^ Sh Jy^trent 



CALL XOUPMS Ij M£5U0 - 4CMO , i^n H>s ^" 3 f 






- 28 



7 ' (RCV6rO C9AJrWUSD) 




caii Pecaa 



" — " 















CA/.L fi6C/f& 



pt*/- tn /oca/ to* 7~0 






jZ /* 






<c,o TVX#b£e<< 



/faodte 



'pr crr^r. 






ftfOM^-AC 



I 



n* 



'u 



f ,„ /oc*/»* "™°"" 



*«» SASs <** character. 



/J. A. 




# Add His /tisSruct/oi 



V 



AJO 5-TX-+- 

/Vasrx + i 



—J £ rr'o k 



60 r>? /ec/nrr 



^c+cce^J "g*^- 



,' M KX-CJLU//>^jr 



/**?. 



29 



A?ECEIl/£ MB5SA6E (& ) 



^dupom : 



' 



Dujo/icaJ-iO" Y o/c( /***?"?■* 



/KXtyt, 



£jk /n t^/ca'04 '. 



XDVPMs: 



i 



DVP/W6 /■/ 






"ack 



I 



"1 



<jO ro Acvoft 



3 



otc£**«j/*J&L. An -tA'* £&?Q-- 
(A> '/'// ' frocm &*** <: /jl c AT S c* **, wss&H' 

Mi Sxx/- <*><A/ *of~ 4*. s-/oreu/ S/mcx. 
fAe ^tjessd4£. siunHfar- /M^/^a/fs /An 



AcvTXT: 



A)0fiMAl 
A£.TI¥HJ 




M. 



ess a 



oil 



A&x-d'cr <?,/?. so far. A/*<*> 



y 



jtg./* r m i A*. AouJ to t>roc-ess -/i£s~f: 
/?eAt( and ^c*t* teur <rAaro~cA~4K. 



60 TO &CM5C 



6o ro fcwe/AJ 



TjtK-h^ ASC/7 : prvcfitJ 



fax. A =. &/nflry ■ procptJ 



tHDC-FR : 

CAaraciittr 
/'« A/eadLr. 



Sadcw 



A?C V£#Z- 



DC 2. 



7D/eCMFF\ A-jtads A° 



JZrror K2+" r ", 



Ty-i" - B*W A/xaAr rx./>A*i . , 



30 - 



RC VASC 



CAJLL #Ach£ 
1 






fierce*) 



_L 



&o rv #a/so>M\ 



e P£AC£S 



T 



Kec£ttf£ M£S5A6£ (~7) 

fizczita, /45£Sr char* c far f 7%<- 

M ess aye MtAJbr Aas 6oa* f>rocs*s*J 

AS A 5C ST. C/Uc£*l/>n *ta/n/a rtfjjf . 
^Apscfe/ Meteors s- tfou/z ujL*, £7"/ ' ,s Jt 

72xr rrfurit A* s J- 6, J 4SCSI cAuir.;.^. ■< 
( r*lA + jua/iJu/j trt AC. 



PAXrctt- 
Ac 



I 



bJf?DCAJT-*- 
tJfiDCAfT+l 






T£xr 



'b u y. 



P«t M/s pari i» P4£rcff : par/ y. 



UK. 




&> TO RcfoFL 



/Jo norjL root* ih c/sers 
*Po<,*,£U Success £o«Jx. boJ~ 

6 % 



t «-/ ckaro.c/*r 4*S ho/ L&f 



o s 2- / ? /o '7 

' I A, A^As A*. A«r4 A->y3o 8, &. /S, 8*£ s 4 £ ] 



Pu/ ASCII uK>rW /n-/o titers DuUtr 



31 



xo/b/aj '. 



i 



CAUL R6CHR 



'£rx" 



r&cr 



_L 



60 rotfcitfvt 



3 



A.£W#aJ 






I 



Ac 



I 



ujxdcajt^- 

6U£DCAJr-H 




/^c»/^ 8 Wry clvtrcujhr. Tk Mfs^&yz. 



C/uuJk toard oounf" coU*y Jirsf 
Jxjtt. oL OL »Jt*o Ut»r* ,'s *»cou*t*"*. 



y 



6orofiatofi\ Suffer e>*»Kfb** *** • 



CA/A/?80tZ 



/zrx' 

A£ruAM 



r&cr 



Go TV #t\/lST 



JL£f7~ 
6 P£.AC£5 



I 







^/f^e^x. Mi ,s e*>i& Ctorrt^s cart vj. 



32 - 



^) (/eC/8/A/ COKfr/AJu£l>) 



cAjLL ft6C#K 






retr _ 



J_ 



60 TbRCI/ll 
r - 



3 



tyar*. fast jrn'&ry u>orJ CO»fkfa<- 



J 



AC*-~ 



co»k»/> a,/**** ">" 



?(x)+AC 
~~f 



GO 70 RCVB/K) 



for*** QL 6,»«ry WO^ &* *°«>' 



II ' 12 



(ortrious oajt) 



Ac \6 S I 6 2 8 3 £+6 S -S f , 



a,,A 



'// 1 *-/z 



(J 



PC i/O^/L 



—j — 



l( /( 



AC-**- Oct 



I 



Ac. 



I 



C4/U. #Ci/£JJD 



&U/Jjtr 0Mrj/b<+> rou//*e 



W/" /> &S£r**S /4ZCJS cA*r«,ef*r 



_L_ 



COu*J7~-+- 



60 TOKCVOR- 




- 33 - 

tf£C£l\/£ M£SSA6£ (to) 

fit+vr* <u6t«*' * i»*>£,'«1 SMS/rue*"" *"* 

I* users £«JL4k 3DACJL , Sine*. A'5 /n*****)*- 
hfMM Ijl A5CZT (*&**/u*Kp) or £'»*"1 
($CMA*/u>o*q) «//&*» S //"■** ** """'1 

~f&r OUO'J 2JOACJI AyorU /»S/ot//*i 
~5u<L{£*3 JZouJ* -far 



(& rd/?Cl/3l/M 



fl/ooJ je^ cAa*.£*«"' 






s?ci/JLsr: 



Kc i/5<yA* 






CALL &CH-A/4. 



3^- 






W^rt 






ACfl "77* 



I 



sM/er AC 



PAKrcff* 
Ac 



I 



CHJL fKMK 



/JatMAc 



/?E7l#?*J 



AC+- 



6 f>*AC£S 



I 



~t — 



CALL 8CH4X 



AC+- 

Ac/)"-n; 



c*Je>'tt '. 5cr£j2/?/H* ai^T /t£f £*J~ 



,„«ry «s"S y-r 



^ **£.-,& ft. 0" 



£c/2«S fy£ y cA"*™*' 




- 35 - 




Ac+- 

ACQPAATtH 



I 



(#c \/5b>M c oaj r/*J <J££> J 



Cbtxk?<**« '3 htOtU /M /IC . 






AarO^r^n 



ac +J'hak" 



tfSC/MOJC 










OMJ. fiCVEt/D 






o Qrrors , 






Error trx-Tur* 

fan "** *<""* °*" * rr ° r 
jeyicaa*t*r*-el. Error rtfa™ . 

A/o-k -MJ- AC ce«-t*i»s &C/, DC 2 



Z)C3 -fa ijL 3V" f AS /< 



f 



7 



o*- 



c rror: 



4c + 



At ACVACK ; ujeoevr 



/eci/CAjr ( fu /•* 




*/ user zatcyt'mS ActMir ■s/x.a . 



A 









C<t/S us-tr's ac/tW//^ rvH/t-x ■«'.''& A&6-S. 

\zcvcajtz^a& -+' call ?:(#ci/£*jr) Rc/euf to/cur; re / fieau l \ 

J3a c££5s r^Oicn. 



KEruttJ 



AC^tCK* 



cMi fia/£*id 



%c<* 



36 



~/(EC£tl/£ A4£SS4&= C/3) 



XcsetJe: &"*■* 



CAUXOMZ 



"Transit-/ -^ik/ta c/tat-a/Str /* AC . 






CAU tfCV&E I g a SAro«^ -br-mifte* troJoCo/. 



/?(:i/D/£- * £^ r W /?*-+ur» ajft/nss of /ki/»fci"j 



'H 



s/reec/i'iM Atrj , 



A-C 



"EOT" 



* 



CALL XCriM 



t&UT: 




7~ra*<*»'* ***( »J. An***"**' * ■ 



S£T~ J-£>J~£- MoD£ 
C/£AK fiECeiVE ACTIVE 






"s/*J '! 



00 TO l (RC\ZME?) 



RcvTfM : £*{&/ 



1 









On^i. T/MOUT 



#rAtour+/ 



I 



nt+um Jo 
Arror /* foceiv*. 



4tne.ra84*c4j 




<xO TO 4CW£ 









37 



tfcMX: &urx.Y 



£E€£i\/£ Q) 




/P^ce/is* A. c bar At 6'. A//ov 
~-ZOO micros* co »c/i A KMSfoS 






I 






/nfjrjact rx-ce 



CA/UL iCrMour^ 



1 






t'n>4- /o<jiC "' 



'a-: 



- rrar 



/-*/* 



/?EAd) A CMUeAC7&i> 



I 



RC+AC 



tfert/tAj 






CAaraLC-htr facJi4*S 



/Jo #£C£IV£ F/LfiCr 



CAU- Xr/MOlfy grrvr r*{«r» 



/?5C/t/t£: 



£Atmy 






1 



<r#.t/eoMz 



mq*-ac 

—* — 






ZJH 



/?£rv#4J 



38 



~/?SCEI\/£(2) 



gUt ft* C 6a rat for- 



A</*/ fat's & ?"*<*»- 



fy/itx oA*r*J*r >» A c 



Azfur** ^ i(&3C*A#) 



tfAcvfi: 



£AJr£V 






1 



call ascme 




fact,**. *~* *«~ A^ZZ cUr«<J*r 
CAtra-citr t ' n AC Ho* : X XOK OOO 






AC-^tfQ. 




h L /baa/ cAaractfr 



££7UXA/ 



/tit 0/V4; 

c/iar. i'tt/tc 
■//tcrgrttri' 



&> n>/?rx£££ 



/Error 



tferv/e/j 



"tCrx" /e e / U r« . i(XACHA) 



£/ur/zv 



/?£cw. 



Li 



CAU #SC#M 



- 39 



~/efcft/£ & ) 






AJ0fiA4AL 



AC 



AC 



» »• 



AcO 277 y 



AC/l 77g 



tfzru/eA) 







Omhr ;« Ac *~> -. xo x/x m 

3lnun ,t/*fJ B"^ r 1 



#7K&?/e: 



nut* U:0IXX**** 

JTric r€**\€M^ rx. /urn 
potufar 

72* + #*/«'» * (KBCH*) 



TXEM + J 



I 



XiLcorJ ru*f~ 
mirror . 



"ocy 

zn 



AC 

EZ 



<5Ui. fiCVBM 



*7%jr instruction /sl/^/aals CAUAO/ME.. 



^qm£s : 



c/urty 



s/uorAy- 



-S 



r 



(s/JOKlO-f-?) 

Modulo /QOi 



■srJDAGfJ : 






T/mouT-*- 



■5/JDA6-AJ A*/.*,. 
A/IPs s-a*S. *u~Lir is ~ji"S r ' • , .'■ / 

proc eSu r* P^° *o c A< f . 
0) User *u„A>r +> ujkom ^tsTti^i " ri-~J~. 
(^ (Jul, «m~<W Uro* tjta*. *>/sso^>- '* •*->"<*• 

($) ' 43CSS jl/sjl A^jj^y. >s 6'*A*y- 



r*-' 



I 



CAlLXWSYAJ 







/JOflMAL 



S^Jl z-y/J Hn*. ^<~~ a~* rJc*,*; "<* *" 



I or A r*f>*+f A** c£*'*J"' ujA ^ 



;// 



Sit up ^ *M>" hi" 



(AJa*.+ /><*1* ) 




CA£.£- 5NDERH. I 



^<?<U.D m£S5A^ faj 



zsA/dH/A*:: 



i 



1 



££«/ /u ** suits- sJro* iTjL+J ^*ut ?■*-<■ 
ifs-fo AC . -tf±* nt HjA+J-f+ is . 



ft r CO u^f i ,o 



( '# C NAK ) *— ' 




60 TO 5/JD60 



cJ^ra^tr ' s, r fa r*-i.*vJ, 






/*>■* /raffi'?*""** 



/1ml 



^Ajoeor * 






CAil -stJoegR. 



tf* Aas do &uUf 1 



£rror rz turn . 



y*JL 



«l*t/ /*A>/t . 



60 ro3UCA&J 



tit frV*«/.s ra .« ^. y J 






£*/> tn rt*nm. . 



I 



CALL S/uCEK#\ 



AJlLtfJlr r*,t«r» T. />uJ r*/«r* /oCu/'O^ ?f 
C*J/,~j sif/ruc/*.* ~ S 4,r*J far* jer 



foljl r4.*CL , 



^■ajd&o : 



yuM •*- o 



I 



AC^-SOH 



c4aj^ xscme 



fJotf/j/)/ 

rff~rW/> 1 

(rsc ha/' } 



ZE 






CA/LL XBCH£ 
1 






caul xecm 






CM*. XBoVA 



- k2 - 



SOtf= 20/ x : s/*r* y. ****** xr-Sf""' 



13 



a 11 A 



3-c*tn Ci-a 









cr. 






/,,.-.• 



Mszsaty. r\u**-4j r -f° 






J AC«* &&* ^7 "H"""*"}. 

as 3 *-*¥ cA~~4" ~ *~ X8CHA } 

^jIsy\* AS Of narf , 



'* #1 

Ac-*- srx 



C4U. KSCMA&. 
\ 



4- 



~~1 — 



JuJDCT 




*rx 



202 8 ■ 3S*'-' "J. *** + 



■8 



f 






(OCa-flOln. X . 



/*>^J- ol, ^«£ >c7 ~ (6«iA <u *"JJ") "^° 



u)fi£xz ur. 



y/' 




-5^~/uD M£55A&£ fa) 



(sajD&o caur/KiuBb) 



K> - 8/»*r~ lt*-f~ 



AC + GS 



Y ^A5CJI 4*h 






I 



CALL X5CMK 









CJ/LL YSCM* 



, CXSCHAX ) 



5^<V <rj c Mtrs tYti 



X poi*-/s +0 



AJOAMAL 






I 



J liJorei ', 



X-*-X// 



1 









f~&rt*t*r an/ se*X 
as /}5CfI ujoraf. I 



Jr/fraJt. 



I 



(^4/ UtO'X 






&* &i"* r i <*jo'*- 







throw** *->ord 

C0u„ / , 



^ajde.7x: 



Ae^-£ETX\ /£r-x = 203 g : 3t~4 jfJ«+ ****■ 



I 



y 






1 -■ 



Me 

(Kscha*.) 



J 



AC~*—50*A 




4.5 Clhiartj Cn/OfJ. 



kk 



ZZ/TAjp M£55d6£ (s~) 



3 ) (jSAJD£7K CouTfMt/fLj) 



CAIL XBWfD\ For, — / ,r<4 -i*~J. 



DOfifsAL 
££TutnJ 

(KeuJKd) 



AC^*-'aJUL'\ A/UL = 200'g 3i~J »»# <■£*>- 



GVL yCHAfL 



3«*V £"i C far A c T/r 



fiJ.fi. 



Se r !£>/.£ MOiDE. 



j-A/Du/r: 



I 



/QeoS>eJ t ~ '** 



/iy/ c t*r**/*r ■"&< 



-7 






O&U /?CHA# 



/?*** Ai's "Y° 



til*- c- 



Ajirax&r- 



AJ.fi. 







^Su 



LCCJS 



KOu <4e 



& r0 5*)WK\ ^ ^£„„/ t ^s -l 



<yO 7Z5 SflOSty 



otooaf miss* "ye . 






x^o^ i/ 



1*5- 



3-&AJD M£3S4G£ (~c ) 



o» 



</*]>) 



GO rn-StJDWT 



^L 



CsaJDWT COAJT/VUlzDj 







Stijf cnAru^ffr- ,J, 

A* ft. r*mjtjL ■/■& error. 



\&0 TV 5£ADcm\ BaJ c/ura^/er *- 
' | rne**a*f. . £/s*r <?. 



*«}* - C/S*r £rrvr. 
W. // *e+ "Try *-**,* 






SfJOKSP, 




(Znarac/jtr /s no rut oj. T^Oi* 



AJQ#5P-- 



I 



»/ )f And ■/■**] a-**i'n £4*/jisj 



•£AJti>r<y = o . 



C4A.<L 5A>DEte 



/fcS'on #Ooi//rte^ ^W £j 



■ 1*6 - 



5&D5M : 



L 






CAt-L SaJD£#£ 



-SaJ cJmlcJ?si 






7^-^ 






ffijomy-*- 
s/upr/ty/-/ 







\C4LL 3*JDE*JD 






^SAUfO f. j 



ScJFotS 4-1 



T 



C4JU 5AJDEUL 



&yyer- oi/ty/o,. 



l^rror fe¥-ur> 



^S4£>Ctf: 



t 






I 



7 



£#1 fl&u//n+ 



CALL 5A)D£*Jb 



Crro r t~4- /< 



urn 



- *7 



/fc_ // < h Ao ufi«e-! <-/*"/ &j : 



^£AJD M£S5A&£ CS ) 



jztjz/i^caj : I 






I 



CALL ^VD£^D 









i»n A/trx. . 



JZ(jS*iO£A16) 



zr moots-/ 

i 



■3£r/ZX£Hoc£ 



&U/. 3*J£>£A)£ 



71m* rCotn Ourf" 
i h ~/~ra* sm i s Si* » 



3A/0£Mt> : ZfTKY 



60 n>3£x/r 



•* Sog^esV«jd IUC*ivC\e«VlCMS 



>mDok; : 



± 






I 






T 



has 6jzsh tt/ u*4*s Jirror irjt/tirn /occtfro* . 
-57" c* success ro>*J* A*s o*e*i ^un* ^./ /* 



■J 



CALL SVDBaJO 






o as £> />°>*y *S &-WS *or**t. 



../ 



jsaJD&ajD : ^AJrxy 



a 11 



*3EYlT: 



CAA/. KCtLAA 



/? J tA,r l T > 

(KCM4*\ 



CkCAK /ZECC've ACr/y£ 



/?Cce/>^ **> j*""** cA*.r*-^a.rs c*h /ass -•j'y/J , 



/fj£rv/?Aj 






XCHAZ 




- U8 - 
■f- / koca/io* or /*iso£t'"4 ,itsfrt*tko* tixrx. . 



T/ME-+- 



Put cA*r<u/er St>> t>£- S&4? 
l'*to AC ■ 




CA/U. t'&movri 



t 



i U 

CA£AA> TfiAAJSM/r /^/fe: 












AJaeM M-^ 

(ih-htrjjut) 



HALT 



X 



IK** 



/e£rv*A/ 



"Ms. /rans* ,'■/ jkj 

■fa hi ffrlpoeJ U -sutcts* i 

***/ ;* sh// /* AC 









AC-*- 

II II 

AC/1^7 g 



CJjLJL XCftAG. 



AJoXAtAl 
XervAu 




Trtm/xW xa. cAtra^/t-r q*j( add 'if To cA&t&sut* . 

y/kl 1 ^ "ma//>/*i" Ac *><* 377 g . 

/?*/c<r»s A, i (XSCXA&) , Cct*r**f oLdC-su*, •'* AC 



XA u/£D 



- 1*9 



TAlAAJ5AAiT (2) 






s/j/Ar W^n- 
AC* Mq 
g PLACES 



^~ / LecaT'o* */ tniro/t/»a / i, 3 tree c~t'" *i h* rjL . 



On* ^/trsi~. forr*»J 6jt louj . 



'f 



ID 



JZ. 



i ' U. 

Ac(d) \kk a*a,Ala: 3 a+ As* 6 a 7 b b, e x fye+e? & s-, 

* 1 P ■ (1 11 

C4/ul rscttAZ \VQ) I* x • D0AJr c *« £ • - - K A m A, A X A 3 A+A r A 6 4 7 \ 



MXH4L 



S///AF L£Af 

AC + MQ 
2 PLACES 



c 



JZ 



I 



2. n n 

4& 00C o - » • tour ca*£ ■ ■ c ? Bo B,t\z%&. && B 7 ' 



CAXjl. KJChUZ. 



M4(i) -LourcAee 



<u. 



tf£r0*A> 



frturm, *> z'(XM£t>) 



50 - 



77?A*JSMir(3) 



X&WtD: £tJr#V 



1 



r ftuc /io" A* kc 



U 

SHIFT l£?T 
6 PLACfS 



+ / jLocaj^ioh itf iiwo/t/nf /nil 

cAara-c/vrs etrtny £ $//-, q, AC t» <2acA 
tfara^rr. 3Z »S /jy^^osf <£ 6i^s aJ AC firs? 
torn */■ ^ / ou) 



AcCo) S Q S, 



' • 'Si 



o 



%_B,->\ 



tO If 12 



CALL XBCHA 



.-*- 'O If 12. I J 

ACO) 1 X — ♦ Do*Jr CAtE • > . X X # <9 %8 X 8 S %S 'J 
Mar,) H 2 ~ " " ■ — ^ 



MQ6) 



e^B 7 



K£TUitN 



Shift left 

AC /-Mtf 
£ Places 



^Q»/,hj Bo-&s- 



/O It 12. 



CALL xsctte 



1-^ J. <° It 12. /j 

X-~ DoJr CA*£ . ... x x a\BzJ5 7 6* c%s lb 8 n 

'V. 



'7 ) 



S*&r*>*f A s &i»*rij CAQfacftr- A* A Hint, 
3k r> Of in* &6> ~8t/ 



A// /A*f ,3 «W 






z'tt/Fr L£?r 
Ac +**Q 

& PLACES. 

'. !__ 



ACLs) 



/Z 17 






CALL K8CHX. 



#Erv**J 



^Stnd/tha 3, z ~8,y 



g^JuKHl /o l(XB(M^/)) 



- 51 - 



X&CHZ : 



/^Ajr/iy 



AC- 



Acn "v?; 



I 



AC- 



AC © too, 



T£A/USM/ir (4-) 

-/-/ Loc*J-/o„ ej. it\yoJ£i** in sf ruction k^rt. 

t>\+* Cac dy "4*0, »f " AC ~M "77," 

My> Ms ;»6 AS CTf »o*-&>»trc/ /yp* 
6~;H "/ooj". jo n 



S) 



CAU. X5CM 



A Ac0 - 



o 



o 



T 



vokkhu 
C KscttAz) 



/?£.ro>#/u 



o / xxx XXX 



77«>»3/^jV 4*4 SCO* <tJ eAarac/vr. 



/^/v«j ^ Z frBCHG.) 



8l>i<Zr* C^OrA tf-tif 









I 



CAJLJL XCHAZ 



C/£*r /trt*. *rtd sioj^c 

" J" 

Sen/ as cn*-> r acnr~ . 



K£7UHU 



CALL. XCMK 



"sy/j " '* ,*{>'// /» ^C 



f.fi. 



C/KjL XCMAfi 



T 



MA. 



#£TVS>kJ 



/e B {ur„ s /. *{/CL*VA>) 



■ssawvi 



r^ '*" — /* 




- 52 ** 



■■.■•Si 



■-, NK,Vj*\ K~ 



V*,- 



^s-r .IT**' 

f 






^ >& *ft\&U£fl&* ^ t«K\s^rX> 



* a iii n i>i , 'i '^ iii i ! i[i ii ii. | - i n i ' i rr ii iii^ ( i 



^9N ■ 

r S ' .m lm 



X** *X* $00 ••* 



js i ^>. w jQMimw ipi jMM qff' n w m wii M pi 



OKiY" • ^ * '■••* 



• At^, «' O N 



■■*>|i|^5*.Htk*.*> »itut'4 



'/■',-. AWBlplXlI 






:n«H '. 



. . V*" 






jcs-il^ 4 !^<pt;'*Hi a «fc|i|jk|; 







•MM 



i '>ji ii j»<rtl>aiJ|>»WI i jl«ii-j i - 



**&:& ijb**s 



JSV, «» s \\ ^-j . xx 



VAN, >„ 



gM*0 ! * _\. »>■■.■■■ ;j *~ 



.>>*.> a*.- 



Fa."*" ' 



7 "f-*^ 



i. 5 **^,^ x^a''***-^ 



U^i>\\'i *i ,«,^a [j^^-j 






„■«*' 



53 



COMMUNICATIONS PACKAGE ERROR PARAMETERS 

Receive Errors in Message 

Each time an error occurs within the Receive Message Procedure, the source 
of error is indicated by adding "1" to one of the following parameters. 



BADCH Bad character in header; produced in header processing, if an "ETX" 

was found during, or "STX" was not found after, the header was processed, 

Note that other types of header errors are possible. 
BAD CM Bad character in message; not used (see TXERR) . 
BADINT Bad character after"SYN"; produced when a character other than 

"ENQ" followed the "SYN" sequence at beginning of received message. 
BADSUM Bad checksum; produced when checksum maintained by Receive Message 

Procedure did not match checksum received after "ETX" of message. 
BUFOVF Buffer overflow; produced when message text received exceeded size of 

buffer space allocated. The part of the message that did not fit 

was lost. 
DUPMS Duplication of last message; produced when message number contained 

in header was same as last message number. Message numbering is 

maintained by the Communications Package. 
DUPOMS Duplication of old message; produced when message number contained in 

header was smaller than last message number. 
INTCH The last character received before an error return due to NOENQ or 

BADINT. Otherwise, INTCH' contains the "ENQ" character. 
NOBUF No receive buffer; produced when user did not provide RCVSET with a 

buffer, after response to "ENQ'J request to send a message. 
NOENQ No "ENQ"; produced when "ENQ" does not follow "SYN" within 8 characters 

of the "SYN" sequence at beginning of received message. 



5k 



NOMES 



NOSTX 



TXERR 



No message header found; produced when no "SOH" was received within 

8 characters after sender's "ENQ" was received and acknowledged at 

beginning of received message. 

No "STX" received after message header was processed. 

Text error; produced while receiving text if a control character 

other than "ETX" was received. 



Send Errors in Message 

Each time an error occurs within the Send Message Procedure, the source 
of error is indicated by adding "1" to one of the following parameters. 



BADCMS 



BADCHS 



BADSMS 



BUFOFS 



NOANS 



NOBUFS 



NORSP 



Bad character in message; produced if received response to message 

after it was sent was "DCS" indicating receiver found bad character 

in message. 

Bad character in header; produced if received response to message 

after it was sent was"DC2" indicating receiver found bad character 

in header. 

Bad sum; produced if received response to message after it was sent 

was "NAK" indicating receiver's checksum did not match SUM sent as 

binary word. 

Buffer overflow; produced if received response to message after 

in was sent was "DCI" indicating receiver's buffer overflowed. 

No answer; produced before message was sent if no "SYN" sequence was 

received within 10 milliseconds of sending an "ENQ" request to send 

message. 

No buffer at receive end; produced before message was sent if "NAK" 

was received in response to "ENQ" request to send message. 

No response; produced after message was sent if no legal response 

character was received within 7 character intervals after "NUL" 



NOWAK 



RSPCH 



STMOUT 



WAKCH 



- 55 - 
send sequence. 

No acknowledge after "SYN"; produced before message was sent, if received 
response was "SYN" sequence, but not followed by legal "ACK," "NAK" 
or "ENQ" replies within 10 millisecond response time allowed. 
The response character received after a message was sent. If the 
message was sent successfully this character will be "ACK," otherwise, 
the type of error indicated should identify RSPCH. 

Timeout occurred while in Send Message Procedure. The timeout may- 
have been due to attempt to transmit or receive. See Error Parameters 
Common to Send or Receive Message Procedures. 

The wake character received before a message was sent. It is the character 
received in response to "ENQ," request to send message unless NOANS 
was indicated. 



Error Parameters C ommon to Send or Receive Messa ge PrnceH,,rPc 



ENDRCV 



RTMOuT 



RC 
WC 
XTMOUT 



Receive End Flag came on; produced when the Modem has lost line control 

(usually due to lost synchronization) in RCHAR routine attempting 

to read next character. 

No Receive Flag indication before timeout occurred; produced when 

Interface did not signal that it has received a character within 
200 microseconds after entry into RCHAR routine (usually due to 
Interface in Receive Inactive state and no "SYN" sequence arrives to 
activate it) . 

The last character successfully received by the RCHAR routine. 
The last character sent to XCHAR routine to be transmitted. 
No Transmit Flag indication before timeout occurred; produced when 
Interface did not signal that it was ready to transmit a character 
within 200 microseconds after entry into XCHAR routine (usually due 
to loss of sync) .